سفارش تبلیغ
صبا ویژن
آشنایی با Firewall (بخش دوم) - آموزش 11




خداوند ـ تبارک و تعالی ـ، شخصی را دوست دارد که در میان جمعیّت، بی آن که هرزه درایی کند و ناسزایی گوید، شوخ باشد، با تفکّرش تنها شود، با عبرت ها خلوت گزیند، و با نماز، شب زنده داری کند . [امام باقر علیه السلام] پارسی بلاگ، پیشرفته ترین سیستم مدیریت وبلاگ
اوقات شرعی
کل بازدیدها:31761 .:. بازدید امروز:57
موضوعات وبلاگ

لینک به لوگوی من
آشنایی با Firewall (بخش دوم) - آموزش 11

دوستان من

جستجو در متن وبلاگ

جستجو:

اشتراک در خبرنامه
 

آرشیو

آهنگ وبلاگ

وضعیت من در یاهو
  • آشنایی با Firewall (بخش دوم) نویسنده: مرتضی 11
    جمعه 85/2/1 ساعت 8:0 صبح
    منبع : http://www.meta-guard.com


    پیاده سازی دیواره های آتش

    هر کاربر با تجربه اینترنت می داند که یک دیواره آتش چیست و چه کاربردی دارد. برای دانستن تعریف دقیق آن می توانید به مقاله دیواره آتش چیست مراجعه کنید. در این مقاله دسته بندی دقیقی از روش های تولید دیواره آتش ارائه نخواهد شد، بلکه تنها به مرور برخی از مهم ترین این روش ها پرداخته می شود. کلیه این روش ها مربوط به پیاده سازی دیواره آتش تحت نسخه های مختلف سیستم عامل ویندوز می باشد. از صحبت در مورد مزایا و معایب این رویکردها در این مقاله خودداری می شود. برای اطلاعات بیشتر در این زمینه می توانید به مقاله روش های مختلف پیاده سازی دیواره آتش، مزایا و معایب رجوع کنید.


    تکنولوژیهای فیلترینگ ترافیک شبکه در ویندوز

    با وجود این که ویندوز 9X/ME و ویندوز XP/NT واسطهای سوکت مشابه دارند و معماری NDIS نیز درایورهای باینری miniport سازگار برای واسطهای شبکه را پشتیبانی می کند، زیر سیستمهای داخلی شبکه آنها تفاوتهایی با هم دارند. در واقع، زیرسیستمهای شبکه ویندوز NT/2000/XP خیلی پیچیده تر از ویندوز 9X/ME است، ولی هر دو قابل تقسیم به بخش های زیر می باشند:

    NDIS- : در سال 1989 Microsoft و 3com با هم (Network Driver Interface Specification) NDIS را گسترش دادند که به درایورهای شبکه اجازه می دهد از سرویسهای واسط شبکه برای مخفی کردن جزئیات عملکرد خودشان استفاده کنند. درایور شبکه با مشخصات ذکر شده NDIS-miniport نامیده می شود. NDIS-miniport با نسخه های مختلف ویندوز سازگار است.

    -درایورهای شبکه: توصیف جزئیات این درایور خارج از حوصله این مقاله می باشد. به طور خلاصه یک درایور شبکه (به طور مثال TCP/IP ) در لایه پایین از توابع کتابخانه ایNDIS برای دستیابی به شبکه استفاده می کند و ممکن است (TDI (Transport Data Information را در لایه بالایی ارائه دهد. واسط TDI ارائه شده می تواند توسط Clientهای متنوعی نظیر بخشی از پیاده سازی سوکت afd.sys (در ویندوزهای NT/2000/XP) استفاده شود.

    -DLL های سطح کار بر که واسط سوکت ویندوز را تشکیل می دهند و عبارتند از : WS2_32.DLL ،msafd.dll ، wshtcpip.dll

    در زیر به بررسی سریع روش های ممکن فیلترینگ ترافیک شبکه پرداخته خواهد شد. برخی از این روش ها که در سطح کاربر کار می کنند دارای محدودیت های فراوانی هستند. به عنوان مثال نمی توانند از اتصال برنامه هایی که مستقیما از لایه TDI استفاده می کنند جلوگیری نمایند.



    فیلترینگ ترافیک در سطح کار بر

    1)Winsock layered service provider (lsp) این رویکرد در msdn به خوبی مستند سازی شده است و دارای یک مثال مناسب (SPI.CPP) می باشد. از مزایای این روش می توان به امکان تعیین فرآیند هایی که سوکت های ویندوز را فراخوانی می کنند اشاره کرد. این روش می تواند برای انجام اعمالی از قبیل کنترل کیفیت سرویس، رمز نگاری جریان دادها و ... استفاده شود. البته همان طور که گفته شدTCP/IP می تواند مستقیماً از طریق TDI فراخوانی شود، بنابراین این روش برای مراقبت در برابر ویروس ها و اسب های تروا و ... استفاده نمی شود. به علاوه این رویکرد روی مسیریاب قابل استفاده نیست، زیرا بسته های اطلاعاتی در سطح TCP/IP مسیریابی می شوند (یا حتی در سطح کارت شبکه)

    2) Windows 2000 Packet Filtering Interface

    ویندوز 2000 APIهایی را ارائه می کند که برنامه های کاربردی سطح کاربر با استفاده از آن ها می توانند مجموعه ای از فیلترها -که توسط TCP/IP برای فیلتر کردن بسته ها استفاده می شوند- را نصب کنند. البته قوانین فیلترینگ نسبتاً محدودند (بر مبنای عبور/انسداد برای آدرس های IP و اطلاعات port). هم چنین این رویکرد فقط در ویندوز 2000 و نسخه های بالاتر قابل استفاده است.

    3) جایگزینی Winsock DLL

    این رویکرد با توجه به داشتن مشکلات امنیتی متعدد قابل اعتماد نمی باشد و لذا از بحث در مورد آن خودداری می شود.

    4) قلاب کردن کلیه توابع ناامن

    استفاده از این رویکرد نسبتاً مشکل بوده و نیازمند احتیاط فراوان می باشد، زیرا ممکن است بر روی ثبات و امنیت سیستم تاثیر بگذارد.

    فیلترینگ ترافیک در سطح هسته ((kernel

    1) kernel-mode sockets filter

    این تکنولوژی برای ویندوزهای NT/2000 قابل استفاده است. این رویکرد با قرار گرفتن در مسیر تمامی فراخوانی ها از msafd.dll (پائین ترین لایه سطح کاربر در Winsock ) به ماژول afd.sys در سطح هسته (TDI-client، که در بالاترین سطح هسته قرار دارد و به عنوان بخشی از سوکتهای ویندوز شناخته می شود) و کنترل یا تغییر آن ها کار می کند. این روش، روش جالبی است ولی امکانات بیش تری نسبت به روش LSP ندارد. به علاوه، واسط AFD در نسخه های مختلف ویندوز متغیر بوده است که این مساله باعث افزایش تغییرات لازم برای استفاده از این رویکرد در این نسخه ها می شود.

    2) TDI-FILTER driver

    این تکنولوژی هم برای ویندوزهای 9X/ME و هم برای ویندوزهایNT/2000 به کار می رود. البته پیاده سازی آن در این دو تفاوت های فاحشی با هم دارد. برای ویندوز 98 مثالی در Vireo/Numega VtoolsD یافت می شود. هم چنین برای ویندوز NT/2000 مثالی در سایت
    http://www.sourceforge.net وجود دارد.

    این تکنولوژی، تکنولوژی معروفی است که در تعدادی از محصولات تجاری (مثل outpost) استفاده شده است. البته همانند سایر روش هایی که تاکنون بیان شد، این رویکرد فقط می تواند برای ساختن محصولات ردة دیوارة آتش شخصی استفاده شود و نمی تواند از پشتة TCP/IP شما در برابر حملات خرابکاران مراقبت کند.

    3) NDIS Intermediate Driver

    Microsoft این دسته از درایورها را دقیقا به منظور پیاده سازی دیواره های آتش فراهم کرده است . البته این درایورها برای ویندوز95 قابل پیاده سازی نیست و در مورد ویندوزهای 98/ME/NT نیز بهتر است از این کار صرفنظر شود. نصب این درایورها و هم چنین استفاده آنها برای کاربران خیلی راحت نیست.

    پشتیبانی از درایوهایIM در ویندوز 2000/XP بهبود یافته است، ولی مساله دیگری که در این مورد وجود دارد آن است که چنین درایورهایی باید دارای امضای دیجیتال ازMicrosof باشد، در غیر این صورت در هنگام نصب کاربر با پیغامی مبنی بر عدم داشتن امضای دیجیتال مواجه می شود. مثالی در این زمینه در DDK ویندوزهای 2000 به بعد وجود دارد.

    4) windows 2000 filter hook driver

    این روش در مستندات DDK توضیح داده شده است و فقط برای ویندوز 2000 و نسخه های بالاتر قابل استفاده است. مثالی در این زمینه در
    http://www.codeproject.com وجود دارد.



    5) NDIS HOOKING FILTER DRIVER

    این رویکرد بر مبنای قلاب کردن برخی توابع NDIS عمل می کند بدین ترتیب کلیه ترافیک ارسالی و دریافتی شبکه از مسیر توابع قلاب شده عبور خواهد کرد. لذا می توان محدودیت های مورد نظر را در این نقطه اعمال نمود.


    6) Miniport Hooking

    پایین ترین سطح برای پیاده سازی یک دیواره آتش، سطح miniport می باشد. البته نوشتن کد در این سطح، دشواری های فراوانی دارد و به همین دلیل توصیه نمی شود.

    آموزش هک نظرات دیگران ( )